iT邦幫忙

2023 iThome 鐵人賽

DAY 23
0
自我挑戰組

從零開始學Web Framework : React篇系列 第 23

Day23: 圖片跳動效果

  • 分享至 

  • xImage
  •  

1.code

import React, { useState, useEffect } from 'react';
import styles from './BouncingImage.module.css';

function BouncingImage({ imageUrl }) {
  const [isBouncing, setIsBouncing] = useState(false);

  
  useEffect(() => {
    setIsBouncing(true);

    
    const timeout = setTimeout(() => {
      setIsBouncing(false);
    }, 20); 

    return () => clearTimeout(timeout);
  }, []);

  return (
    <div className={`${styles.imageContainer} ${isBouncing ? styles.bounce : ''}`}>
      <img src={imageUrl} alt="Bouncing Image" className={styles.image} />
    </div>
  );
}

export default BouncingImage;
.imageContainer {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 400px; 
    animation: bounce 2s ease infinite;
  }
  
  .image {
    width: 200px; 
    height: 200px;
  }
  
  @keyframes bounce {
    0%, 100% {
      transform: translateY(0);
    }
    50% {
      transform: translateY(-100px); 
    }
  }

2.實作


上一篇
Day_22: 圖片預覽和放大效果
下一篇
Day24: 圖片閃爍效果
系列文
從零開始學Web Framework : React篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言